草庐IT

PHP undefined variable 奇怪

全部标签

php - 将字符串转换为 float 时出现奇怪的结果

我想将字符串转换为float,但我遇到了一些问题。这是我的代码$dataValue=$item[$data];$dataValue=trim($dataValue);var_dump($dataValue);echo"";$dataValue=str_replace(',','.',$dataValue);var_dump($dataValue);echo"";var_dump(floatval($dataValue));echo"";var_dump(floatval('4.02'));echo"";结果string(7)"4,02"string(7)"4.02"float(4)fl

php base64_decode 奇怪的输出

我有一个来自base64_decode函数的非常奇怪的输出。输出是一个长度为18的字符串,但是当我var_dump字符串时......长度是32!这会影响我为这个字符串应用的preg_match函数。知道为什么吗?$input_line=base64_decode('OQA3ADgAMAA5ADgAMgA3ADQAMwA2ADAANwA5ADAAMAAwADAA');var_dump($input_line);输出string(36)"978098274360790000"问候 最佳答案 该字符串有很多不可打印的字符(NUL字节)。

php - fgetcsv 后数组第一行中的奇怪字符

我有一个CSV文件,在本例中,第一个“单元格”只是一个整数9。下一行是第一个“单元格”的10,依此类推。当我执行$array=fgetcsv($file);时,第一行的第一个单元格在值前面有这些奇怪的字符:ˇ˛它打乱了我的数据库导入,因为这个单元格应该只包含一个int。它只发生在第一行的第一个单元格上。关于为什么会发生这种情况以及我可以做些什么来避免这种情况有什么想法吗? 最佳答案 正如其他人所建议的,奇怪的字符是ByteOrderMark(BOM).要删除它,您可以使用以下代码段:if(mb_detect_encoding($va

php - 将此对象添加到此静态数组的奇怪行为

目前我用这段代码进行测试:type=$type;$this->message=$message;self::$_alerts[]=$this;}}$alert=newAlert();$alert->add("warning","test1");$alert->add("error","test2");echo"";print_r(Alert::$_alerts);echo"";但我的结果并不像预期的那样:Array([0]=>AlertObject([type:Alert:private]=>error[message:Alert:private]=>test2)[1]=>AlertO

php - DateTimeZone 类中的奇怪常量

DateTimeZone类中有奇怪的常量classDateTimeZone{constUTC=1024;constALL=2047;...}我试图找到关于它们的任何信息。也尝试过使用它们:$dtz=newDateTimeZone(DateTimeZone::UTC);//throwsExceptionwithmessage//DateTimeZone::__construct():Unknownorbadtimezone(1024)或$dt=newDatetime('2016-02-0110:00:00',DateTimeZone::UTC);//throwsExceptionwith

PHP:奇怪的 usort 错误

在我的本地机器上一切正常。但是当将这段代码上传到我的实时服务器时,我收到了一个奇怪的警告......usort($modules,array('util_SortItem','ByOrder'));导致此警告:Warning:include_once(sc3lycp6hmyab.php)[function.include-once]:failedtoopenstream:Nosuchfileordirectoryin/opt/www/xxx/web/private/Zend/Loader.phponline146Warning:include_once()[function.inclu

php - curl 帖子给出奇怪的字符,如 åäö

我在grails中有一个带有后期操作的Controller。现在,当通过php和curl尝试发布到grailscontoller时,我得到?占位符,用于åäö等字符。如果我在同一篇文章中创建一个小的html表单,grailscontoller接收参数作为åäö而不是?等。下面有什么区别,我怎样才能让curl充当html表单示例?curl示例:$x=curl_init("http://localhost/post");curl_setopt($x,CURLOPT_HTTPHEADER,array('Content-Type:application/x-www-form-urlencode

php - 从 Magento 中的脚本保存具有分层定价的产品模型时的奇怪行为

当我尝试从具有分级定价的MagentoEnterprise1.8脚本中保存产品模型时,我发现了一些奇怪的行为。以这段代码为例://Thisproducthasatierprice$product=Mage::getModel('catalog/product')->load(194760);$product->setName('ChangedProductTitle');$product->save();保存时get异常(详见下文)。但是,如果我在模型中不做任何更改,我不会得到异常。我感觉这是因为我没有更新任何东西,所以Magento没有做那么多工作。//Sameproduct,but

PHP 奇怪地减去数字 - 返回长浮点值

我正在计算某物的费用(货币),而当金额应为0.00时,PHP表现异常。它以float的形式给出最终结果,而不是它应该的0。在我的数据库中我有下表id|transaction_total|charge_fees|deposit_fee|amount_to_customer|fees_minus_total_difference所以当我去检查以确保费用+支付的金额-总计=0.00(96.54+.25+3.20-99.99)=1.4210854715202E-14为什么结果是float而不是零?数字本来是多位小数的,但是我用number_format把它放到了2位。例如,手续费实际上可能是3

php - 破折号和下划线的 preg_match 的奇怪行为

我有以下两个表达式。两者几乎相同,首先我检查以3个破折号结尾的字符串,然后检查以3个下划线结尾的字符串$str="this-is_normal-test---";$str=preg_match("/[a-zA-z0-9]+(-+)$/",$str,$matches);print_r($matches);$str="this-is_normal-test___";$str=preg_match("/[a-zA-z0-9]+(_+)$/",$str,$matches);print_r($matches);这是输出:Array([0]=>test---[1]=>---)Array([0]=>